You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add an extensible replay test reporter layer for the test command.
Details:
Extract default console and JUnit output behind ReplayTestReporter modules.
Add repeatable --reporter, with built-in default and junit:<path> reporters.
Support CLI-only custom reporters loaded from file paths: --reporter ./scripts/reporter.mjs.
Keep the custom reporter contract intentionally small: no CLI reporter options or tuple syntax; custom reporter code owns its own configuration.
Export reporter types from the package root for TypeScript custom reporters and document that runtime reporters should be .mjs/.js or precompiled from TS.
Keep --report-junit <path> as a compatibility alias while preventing reporter flags from reaching daemon requests.
Document built-in and custom reporter usage in website/docs/docs/replay-e2e.md.
Touched-file count: 20. Scope stayed within replay test CLI/reporting, public reporter types, docs, and related tests.
Validation
Verified with focused CLI parser/reporting tests, TypeScript, formatting, integration-progress classification, and fallow:
./node_modules/.bin/vitest run src/__tests__/cli-test-reporters-spec.test.ts src/__tests__/cli-network.test.ts src/utils/__tests__/args.test.ts src/commands/replay/index.test.ts
Current head 7acf07a is blocked by CI. Fallow fails on src/cli-test-reporters/custom.ts:100 validateCustomReplayTestReporter (11 cyclomatic / 10 cognitive / CRAP 37.1); split the validation branches or extract helpers. Integration progress check also fails because the new public CLI flag reporter is unclassified: add reporter to the progress-script coverage classification (likely parser/client-only command flags or replay reporting owner) so pnpm test:integration:progress:check passes.
Reviewed current head f8bfb9b after the CI fixes. I did not find actionable blockers: reporter handling is contained to CLI presentation, reportJunit/reporter are stripped before daemon requests, the default/JUnit output behavior is preserved behind reporters, custom reporter loading validates the expected hooks, docs cover the explicit reporter list semantics, and all 22 checks are green. Marking ready-for-human.
Re-reviewed the post-ready delta on current head d2c6718 (refactor: modularize replay test reporters, refactor: trim replay reporter parsing, refactor: simplify custom replay reporters). I do not see a new actionable blocker: reporter spec parsing is centralized, built-ins/custom paths are separated cleanly, custom factories still receive load context, built-in reporters use the reporter IO context, and help/docs/tests now consistently describe the supported default, junit:<path>, or custom-path contract without JSON reporter options. The existing ready-for-human label still looks valid subject to the remaining pending smoke shard finishing green.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ready-for-humanValid work that needs human implementation, judgment, or maintainer merge
1 participant
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add an extensible replay test reporter layer for the
testcommand.Details:
ReplayTestReportermodules.--reporter, with built-indefaultandjunit:<path>reporters.--reporter ./scripts/reporter.mjs..mjs/.jsor precompiled from TS.--report-junit <path>as a compatibility alias while preventing reporter flags from reaching daemon requests.website/docs/docs/replay-e2e.md.Touched-file count: 20. Scope stayed within replay test CLI/reporting, public reporter types, docs, and related tests.
Validation
Verified with focused CLI parser/reporting tests, TypeScript, formatting, integration-progress classification, and fallow:
./node_modules/.bin/vitest run src/__tests__/cli-test-reporters-spec.test.ts src/__tests__/cli-network.test.ts src/utils/__tests__/args.test.ts src/commands/replay/index.test.ts./node_modules/.bin/tsc -p tsconfig.jsonnode --experimental-strip-types scripts/integration-progress.ts --check./node_modules/.bin/fallow audit --base origin/mainnode ./node_modules/oxfmt/bin/oxfmt --write ...